﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using GMaps;
using BLGPS;
using Utilities.UI;

public partial class SiteMaster : System.Web.UI.MasterPage
{
    public Usuario  Usuario
    {
        get { return (Usuario )Session["Usuario"]; }
        set { Session["Usuario"] = value; }
    }
    public Empresa Empresa
    {
        get { return (Empresa)Session["EmpresaGlobal"]; }
        set { Session["EmpresaGlobal"] = value; }
    }


    public string Titulo { set { divTitle.InnerHtml = value; Page.Title = value; } }
 
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Usuario == null)
        {
            lblUser.Text = "";
            cmdLogin.Text = "Iniciar Sesión";
            cmdLogin.OnClientClick = "ShowLogin(); return false;";
        }
        else
        {
            lblUser.Text = "Hola " + Usuario.Nombre + ".";
            cmdLogin.Text = "Cerrar Sesión";
            cmdLogin.OnClientClick = "";
        }


        NavigationMenu.DataSourceID = "SiteMap" + (Page as BasePage).Perfil.Nombre;

        if (!IsPostBack)
        {
            if (Usuario != null)
            {
                if (Usuario.Perfil.Nombre == Perfil.Intranet.Nombre)
                {
                    cmbEmpresa.Visible = true;
                    cmbEmpresa.Fill<ColeccionEmpresa, Empresa>(ColeccionEmpresa.Empresas, "RazonSocial");
                    cmbEmpresa.SelectedValue = Empresa.Id.ToString();
                }
                else
                {
                    cmbEmpresa.Visible = false;
                }
            }
        }
      


    }

    protected void cmdLogin_Click(object sender, EventArgs e)
    {
        //siempre llega por cerrar sesion
        Usuario = null;
        Empresa = null;
        Response.Redirect("~/Default.aspx");
    }

    protected void login_Authenticate(object sender, AuthenticateEventArgs e)
    {
        //la clave va cifrada
        Usuario = ColeccionUsuario.Autenticar(login.UserName, Encrypter.encryptPass(login.Password));
        if (Usuario != null)
        {
            Empresa = ColeccionEmpresa.CargarPorUsuario(Usuario);
            Response.Redirect("~/Comun/Index.aspx");
        }
    }

    protected void cmbEmpresa_SelectedIndexChanged(object sender, EventArgs e)
    {
        Empresa = ColeccionEmpresa.Empresas.ObtenerPorId(long.Parse(cmbEmpresa.SelectedValue));
        Response.Redirect(Request.Url.AbsolutePath);
    }
}
